package com.atguigu.template.improve;

//�����࣬��ʾ����
public abstract class SoyaMilk {

	//ģ�巽��, make , ģ�巽����������final , ��������ȥ����.
	final void make() {
		
		select(); 
		if(customerWantCondiments()) {
			addCondiments();
		}
		soak();
		beat();
		
	}
	
	//ѡ����
	void select() {
		System.out.println("第一步 选择黄豆");
	}

	//抽象方法 子类去看情况去实现  钩子方法
	abstract void addCondiments();
	
	//����
	void soak() {
		System.out.println("第三步 浸泡黄豆和配料 ");
	}
	 
	void beat() {
		System.out.println("第四步 黄豆和配料放入豆浆机打碎  ");
	}
	
	//���ӷ����������Ƿ���Ҫ�������
	boolean customerWantCondiments() {
		return true;
	}
}
